Content summarization and/or recommendation apparatus and method

ABSTRACT

Embodiments are provided for summarization and recommendation of content. In disclosed embodiments, a summarization engine scores constituent parts of content, and generates a plurality of summaries from a plurality of points of view for the content based at least in part on the scores of constituent parts. The summaries may be formed with constituent parts extracted from the contents. A recommendation engine provides recommendations to a user based on rankings of the summaries generated by the summarization engine. Other embodiments may be described and/or claimed.

RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.14/171,674 filed on Feb. 3, 2014 (issued as U.S. Pat. No. 10/691,737 onJun. 23, 2020), which claims priority to U.S. Provisional App. No.61/761,113 filed on Feb. 5, 2013, the contents of each of which arehereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates to the summarization and recommendationof content. More particularly, the present disclosure relates toimproved summarization of online/offline content to provide dynamicsummaries from a plurality of points of view, as well as ranking ofsummaries and recommendation of content based at least in part on theranked summaries.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Unless otherwiseindicated herein, the materials described in this section are not priorart to the claims in this application and are not admitted to be priorart by inclusion in this section.

The resources available to a user online are ever expanding. Morewebsites, blogs, self-publishing and the like increases the amount ofinformation online exponentially. Facebook™ users create 45 millionstatus updates each day and Twitter™ has about 5 million tweets. Eventhough blogs are on the decline since the advent of social media some900,000 new blog articles are written every day. This is no small numberin fact if those articles were taken alone it would be enough content tofill the pages of the New York Times™ for 19 years. Source:OnlineEducation.net.

For example, when a user does an online search, such as using GOOGLE™,hundreds of links to articles of interest may be presented according tosome formula or ranking. The user would then have to review the articleson every link for desired information. As the amount of online contentincreases, the number of useless or marginally useful articles increasesso that the user wastes considerable time surfing the links only to findnothing of value is presented. Searched terms may be highlighted alongwith text, but many times this also is not helpful. Moreover, offensiveor crude material may be highlighted that offends the user.

Current search engines also may provide summaries of articles to helpusers. These summaries, however, are from only one point of view, if anyat all. The summaries find matching terms and highlights text around theterm without taking into account context or other terms that areemphasized in the article. Finally, search engines may be tricked intohighlighting links that have nothing to do with the desired search byadding superfluous terms and bogus tags only to rank high on a list.Companies may pay to have their articles rank high even without anyregard for the actual content. All of these situations result in wastedtime reviewing articles and content online that does little to help auser in finding information of interest. As a result, search engines maystart to fail as effective tools to identify and review articles online.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will be readily understood by the following detaileddescription in conjunction with the accompanying drawings. To facilitatethis description, like reference numerals designate like structuralelements. Embodiments are illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 illustrates a block diagram of a content processing engineaccording to the disclosed embodiments.

FIG. 2 illustrates a flow diagram for the summarization engine of FIG. 1according to the disclosed embodiments.

FIG. 3 illustrates a block diagram of a user behavior identificationsystem according to the disclosed embodiments.

FIGS. 4 and 5 illustrate example input-output processes according to thedisclosed embodiments.

FIG. 6 illustrates a block diagram of articles being saved onto contentprocessing servers in the cloud according to the disclosed embodiments.

FIGS. 7 and 8 illustrate the use of the content processing cloudenvironment with a social networking feature according to the disclosedembodiments.

FIG. 9 illustrates the user preference learning module of FIG. 3 infurther detail according to the disclosed embodiments.

FIG. 10 illustrates the recommendation engine of FIGS. 1 and 3 infurther detail according to the disclosed embodiments.

FIG. 11 illustrates an example computer system suitable for use topractice various aspects of the present disclosure, according to thedisclosed embodiments.

FIG. 12 illustrates a storage medium having instructions for practicingmethods described with references to FIGS. 2-10, according to disclosedembodiments.

DETAILED DESCRIPTION

Disclosed embodiments provide a content processing engine that reviewsonline or offline content to dynamically recreate a summary or aplurality of summaries from different points of view. Online/offlinecontent may include webpages, articles, documents, audios, videos, andso forth (hereinafter, generally referred to as an “article” or“articles”). An article may be converted into a node with links to otherarticles/nodes to create a collection of interconnected/linkedarticles/nodes, using the disclosed processes and engines. A user mayget out of the articles what are important from their summaries, asopposed to wading through a lot of content.

The disclosed content processing engine may summarize an article usingone or more of four methods (e.g., natural language processing (NLP)techniques) to provide score or scores for the article. These methodsmay include a graph method, a document title words and keywords method,a “parts of speech” (POS) tagging method, and a heuristic method. Themethods may be used in parallel or in a selective manner to scoreconstituent parts of the articles, such as, key words, key phrases,sentences of the articles (captions/transcripts in the case ofaudios/videos), and in turn, the articles. The resulting summary may bean extraction-based summary as opposed to an abstraction-based summary.Keywords and terms may be presented to the user online or offline withthe article, as well as terms are available for different points ofview.

Once the article or articles are summarized, an artificial brain may becreated online. All articles may be pushed to the content processingengine to read the articles for the user. The content processing enginecan find related articles to suggest to the user. Thus, the contentprocessing engine may serve as a recommendation engine for onlinecontent to the user based on activity on the engine.

The disclosed content processing engine also may support a socialnetwork based on topics or reading/browsing interest. Future searchengines may fail, as the content in the web is increasing at exponentiallevel. The disclosed content processing engine understands both passiveand active interests of the user based on searches and summaries ofarticles. With the disclosed content processing engine, the user canfollow what other people of similar interests are reading and can gethuman filtered information. Alternatively, the users can also getconnected to each other. The terms and keywords identified for articlesmay be linked within this network to provide availability to onlinecontent.

The disclosed content processing engine may work on online and offlinecontent. It can summarize cluttered content as well as extracted contentor simple text input. The disclosed content processing engine can pullcontent from online resources and locations, as well as from adatabase/storage that is local, or from a server. The content may be inan electronic format.

Thus, there may be two entry points to the disclosed content processingengine. One is online/offline cluttered pages. Text is extracted fromthese pages and summarized, and clutters are removed, as disclosedbelow. Another is online/offline extracted text. These content aresummarized directly by engine as it is clutter-free. There is no need toextract.

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized and structural or logical changesmay be made without departing from the scope of the present disclosure.Therefore, the following detailed description is not to be taken in alimiting sense, and the scope of embodiments is defined by the appendedclaims and their equivalents.

Aspects of the disclosure are disclosed in the accompanying description.Alternate embodiments of the present disclosure and their equivalentsmay be devised without parting from the spirit or scope of the presentdisclosure. It should be noted that like elements disclosed below areindicated by like reference numbers in the drawings.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The description may use the phrases “in an embodiment,” or “inembodiments,” which may each refer to one or more of the same ordifferent embodiments. Furthermore, the terms “comprising,” “including,”“having,” and the like, as used with respect to embodiments of thepresent disclosure, are synonymous.

As used herein, the term “module” may refer to, be part of, or includean Application Specific Integrated Circuit (ASIC), an electroniccircuit, a processor (shared, dedicated, or group) and/or memory(shared, dedicated, or group) that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

FIG. 1 depicts a content processing engine 10 according to the disclosedembodiments. The content processing engine utilizes statistical andlinguistic ontology and various machine learning (ML) techniques toprocess content. The content processing engine 10 may be implemented asan artificial brain. Here, an “artificial brain” refers to a computingsystem (including hardware and software elements), or network ofcomputing systems, configurable or operable to simulate or emulate ahuman brain (or human mind) using artificial intelligence (AI) and/or MLtechniques. Such techniques may include, for example, using artificialneural networks (NNs), which involve computing systems computing MLmodels that are inspired by biological NNs. The NNs may be arranged intoany suitable of topology or architecture, such as a Feed forward NN(FNN), Convolution NN (CNN), Recurrent NN (RNN), a Long Short TermMemory (LSTM) algorithm, a deep CNN (DCN), a Deconvolutional NN (DNN), agated recurrent unit (GRU), a deep belief NN, a feed forward NN (FFN), adeep FNN (DFF), a deep stacking network, a Markov chain, a perceptionNN, a Bayesian Network (BN), a Dynamic BN (DBN), a Linear DynamicalSystems (LDS), a Switching LDS (SLDS), among many others.

As shown, in embodiments, content processing engine 10 may be configuredto receive online information and articles 8, or offline/local/databaseinformation or article, e.g., through some interaction with a user oranother program, such as a browser, word processor, and so forth, withwhich the user interacts. The user may, e.g., select the articles from areturned list of links to the articles after running a search on asearch engine. The articles may reside in electronic form online, oroffline/local/database information or article, which enable contentprocessing engine 10 to mine data from the articles. As describedearlier, articles 8 may include webpages, documents, audio and/or videoclippings.

Content processing engine 10 may include a summarization engine 2,disclosed in greater detail below. Summarization engine 2 may review anarticle, or any online content, and analyze the content/text for variousproperties and characteristics. Summarization engine 2 then may scorethe article, and the sentences/text within the article (or itscaptions/transcripts in the case of audios/videos) so that the mainpoints, or “gist,” of the article (keywords, phrases or sentences in thecase of text, segments in the case of audio/video) may be extracted andmade available to the user.

Recommendation engine 4 may receive results from summarization engine 2,as well as information from the user, and use the results to recommendarticles or other online content to the user. In a way, recommendationengine 4 may act as an artificial online brain that selects articles andinformation of interest to the user based on the efforts ofsummarization engine 2. For example, the user reads an article whichsays x=y and then after some days reads another article which says y=z.A brain correlates x=z, thanks to information overload, the user justcannot read everything. So once the user reads an article,recommendation engine 4 may store the correlations and may correlate anew article to the user for a recommendation. Recommendation engine 4will be further described with references to FIG. 10, in conjunctionwith the description of a user behavior identification system,referencing FIG. 3.

Further, content processing engine 10 also may interact with socialnetwork 9. In the future, the search engines may fail as the content inthe web increases at an exponential level. Content processing engine 10may be configured to understand both passive and active interests. Withcontent processing engine 10, people can follow content interaction ofother people of similar interests, such as what they are reading,sharing, and so forth, and can get human filtered information by makingpeople the sensors of information. Interaction with social network 9will be further described later with references to FIGS. 7 and 8.

Depending on what functions are used within content processing engine10, it may provide an output 6 to the user. Output 6 may be a summary ofthe article, a list of keywords, the article itself, a ranking ofarticles, a recommended article, and the like (or links to the summary,the list, et al). Summary of an article may be of a selected point ofview, and may change when a different point of view is selected. Asdescribed earlier, in embodiments, summaries may be extractionsummaries. However, in alternate embodiments, abstract summaries mayalso be provided. In embodiments, output 6 may be displayed on a screenof a computing device, or can be stored to adatabase/software/cache/flash memory/other physical storage medium, ofany electrical, magnetic, optical or solid state type. The computingdevice may be any one of a smartphone, a phablet, a computing tablet, alaptop or desktop computer, a game console, and so forth,communicatively coupled with content processing engine 10, or on whichthe content processing engine 10 may be installed.

FIG. 2 depicts a flow diagram 100 for a summarization engine 2 ofcontent processing engine 10 in further detail, according to thedisclosed embodiments. The summarization engine 2 may provide scores forarticles applying one or more of a plurality of processing methods toscore the articles. Further, in embodiments, nodes and links may beused, by summarization engine 2, to determine keywords within thearticles and points of view for a user to select (or by recommendationengine 4 to use to suggest a viewpoint e.g., based on a user's profile,to be described more fully below). At operation 102 text data from theonline articles, or offline/local/database information or articles, maybe inputted or received into content processing engine 10. Additionally,in embodiments, clutters, such as advertisements, may be removed beforethe one or more processing methods are applied to score the articles.

The first method, performed by summarization engine 2, may relate to agraph method that provides a rank to each sentence based on thecoherence of roots of words between sentences. Thus, the first methodmay determine a relation how each sentence is connected with anothersentence. Operation 104 may include tokenizing, or chunking (joining) ofrelated sentences based on rules. The rules may be used to identifykeywords and terms between the sentences. The rules are presented belowalong with examples. The rules may be applied sequentially in any order.

Rule 1 may be related to determining the presence of connectives, suchas accordingly, again, also, besides, and the like. The presence of aconnective in a sentence indicates a connection to the previoussentence. When such connectives are found, the adjacent sentences mayform coherent chunks within the online article, oroffline/local/database information or article. The implementation ofRule 1 may be seen in the following examples.

EXAMPLE 1

1. The train was late.

2. However, I managed to reach the wedding on time.

In example 1, the connecting word “however” may be used to bind itssentence with the situation specified in the first sentence of the trainbeing late.

EXAMPLE 2

1. The cab driver was late.

2. The bike tire was punctured.

3. The train was late.

4. Finally, I managed to arrive at the wedding on time by calling a cab.

The connecting word “finally” may be used to bind its sentence with thesituation of the author being delayed.

EXAMPLE 3

1. The cab driver was late.

2. The bike tire was punctured.

3. The train was late.

4. I could not wait any longer, so I finally managed to reach thewedding on time by calling a cab.

The connecting word “finally,” though it comes in the middle of thesentence, may still be used to bind its sentence with the situation ofthe author being delayed.

Rule 2 of the chunking operation may provide that a third person pronounin a given sentence may be considered as referring to an antecedent termin a previous sentence. The given sentence provides complete meaningwith respect to the previous sentence. When such adjacent sentences arefound, these sentences may form coherent chunks.

EXAMPLE 4

1. Ravi is a good boy.

2. He always tells the truth.

The pronoun “he” in sentence 2 may be considered as referring to “Ravi”in the first sentence.

EXAMPLE 5

1. He is the one who got the first prize.

The pronoun “he” may be considered possessive, and thus, does not needan antecedent to give meaning to the sentence.

Rule 3 may establish that the reappearance of nouns in adjacentsentences is an indication of a connection. When such adjacent sentencesare found, the sentences may form coherent chunks.

EXAMPLE 6

1. Ravi is a good boy.

2. Ravi scored good marks in exams.

EXAMPLE 7

1. The car race starts at noon.

2. Any car is allowed to participate.

Coherence and connectivity between the two sentences in each example isshown through reappearing nouns.

Rule 4 may establish that an ontology relationship between words acrosssentences may be used to find semantically related words in adjacentsentences that appear in an article. The appearance of related words maybe an indication of coherence and forms coherent chunks. To find thesemantic neighborhood between adjacent sentences, most of the lexicalrelationships, such as synonyms, hyponyms, hypernyms, homonyms,meronyms, holonyms and gradation may be used. Thus, semantically-relatedterms may be captured through this process.

EXAMPLE 8

1. The bicycle has two wheels.

2. The wheels provide speed and stability.

The bicycle and wheels are related as bicycle is the holonym of wheels.

All of the above rules may be applied incrementally to achieve completesets of coherent chunks of sentences within the article.

Operation 106 may include removing stop words. In a sentence, words suchas “the,” “are,” “a,” “is,” and the like do not give meaningfulinformation about the article. These words may be removed from eachsentence to only leave words important to the coherent chunks andsentences.

Operation 108 may include stemming, or skimming, the text. Words may bereduced to their stem roots to reduce redundant terms and to betteridentify similar terms between sentences. For example, words such as“lovely,” “loving,” “lovable,” “loved,” and the like refer to the rootwork “love.” The disclosed embodiments stem these words to “love” sothat it becomes easier to identify similarity between sentences in thearticle, and for use in later stages. Operation 110 may includecalculating the relationship between any two sentences on the basis ofoverlap of stemmed words from operation 108.

Operation 112 may include generating a graph. In embodiments, nodes maybe created in the graph for each sentence. The nodes may have a scoreand index for knowing which sentence that the node represents. The nodemay have relations with other nodes in the form of edges. The relationsmay have weight based on the similarity of the words in each sentence.The weight used may be empirical, and refined in view of feedbacks onusefulness of the outputs.

Operation 112 may include connecting the nodes within the graph. Inembodiments, relations between nodes of the graph may be found based onthe similarity between the words found in them. Stop words have beenremoved, as disclosed above, so the disclosed embodiments do not wasteresources or time on finding the similarity of words such as “is,”“the,” and the like. If two root words in two sentences match, then arelation between their corresponding nodes may be given weight.

Operation 114 may include assigning scores to each node, or determiningranking based on weight/relation between sentences (nodes). During thisoperation, the disclosed embodiments may determine the number ofrelations that the node has with other nodes. The disclosed embodimentsmay add the weight of all these relations that the node has and therelations become the score of that node. The node with the maximumrelations may have a higher score and more weight. Thereafter, theoperations may proceed to operation 190, disclosed in greater detailbelow.

Method 2 performed by summarization engine 2 may relate to showing thedensity or the volumetric concentration of each word/entity/concept inthe article. This method 2 may determine the title words and key phrasesusing term frequency-inverse document frequency (tf*IDF) values for eachword of a sentence, as well as remove stop words and stemming. Thus, thedisclosed embodiments may increase the score of sentences that includekeywords and title words.

Operation 120 may include giving weight to each word in a sentence.Operation 122 may include using the tf*IDF method for determining aweight. Operation 124 may include using a volumetric concept method todetermine a weight. Operation 126 may include averaging the weightvalues. Operation 128 may include giving weight to the sentence based onthe words within. Operation 130 may include ranking the sentencesaccording to the weights. Thereafter, operation may go to operation 190.

Method 2 may be illustrated by the following example. Suppose the titleof an article is “Yuvraj Singh is suffering from cancer.” The keyphrases, or key words, of the article are “cricket” (weight=3), “YuvrajSingh” (weight=6), and “cancer” (weight=5). A sentence may be “Yuvraj issuffering from cancer, which is curable and will probably travel toLondon for diagnosis.” The sentence contains two key words: “Yuvraj” and“cancer.” Thus, the disclosed embodiments may add the weights 6 and 5,or 11, to the score for that sentence.

Method 3 performed by summarization engine 2 may relate to tagging partsof speech, or “POS tagging,” for words in each sentence. All of thenouns, proper and improper, may be used to form nodes. All the verbs,adjectives, and adverbs may be used to generate links between the nodes.The relationship will be indexed as well as name based on whether thewords are verbs, adjectives or adverbs. Thus, operation 140 executes bystarting POS tagging on the text data.

Operation 142 may include letting the proper noun form the centerentity/nodes and the verbs for the lines between the nodes. Operation144 may include letting nouns form subnodes, if applicable. Operation146 may include using a dictionary database or thesaurus to combinesubnodes. Operation 148 may include creating a graph.

An example of POS tagging may be shown using the following sentence:“Apple, Inc., is an American multinational corporation that designs andsells computer electronics, computer software and personal computers.”The proper noun is “Apple, Inc.” or just “Apple,” which forms the centernode of the resulting graph. “Corporation” may be a subnode along withthe other nouns in the sentence—electronics, software and computers. Thecenter node is connected to the subnodes by the verbs “is,” “designs,”and “sells.” The verbs link the nodes to each other. Adjectives may actas leaves on the nodes. Stop words may be removed for less clutter onthe graph.

Operation 150 may include identifying stable and unstable links based onthe truss/mechanical stress on the joints. Operation 150 also may checkfor the longest possible path with the least nodes and the shortest pathwith the maximum nodes. Using method 3, the disclosed embodiments maycreate a knowledge network. Using content processing engine 100, thedisclosed embodiments may utilize various machine learning techniques tocompile all the information about the linked nodes for differententities. The disclosed embodiments may develop intelligently summariesfrom the document, thereby skipping the less important parts of asentence and, at the same time, mentioning the most part. This graphingmay occur for every sentence in the article, with nodes having aplurality of links coming and going.

After the graph is developed, the disclosed embodiments may identify thenode with the maximum incoming and outgoing links. Thus, the identifiednode (noun) may be considered more important for the article. Thedisclosed embodiments also may eliminate the nodes having the leastincoming and outgoing links. Operation 151 may include ranking sentencesaccording to the scores of the sentences based on the sentences havingnodes with more weight receiving a higher score.

Method 4 performed by summarization engine 2, as shown in FIG. 2, mayrelate to heuristic methods. Operation 152 may include performing atitle word match to find sentences using title words. Operation 154 mayinclude using location, cardinal and indicational heuristics to scoresentences in the article. This operation will be described in greaterdetail below. For example, sentences containing quotes may have theirscore increased as quotes may be more important than sentences nothaving them. The score of sentences having special words in thebeginning, such as “in short,” “in conclusion,” “thus,” and the like,may be increased as well. Short sentences may have their scoredecreased. The location of the sentence in the articles also mayinfluence its score. Depending on the type of article, then location mayincrease score. For example, in a news article, the first and lastsentences may have an increase in score due to their perceivedimportance.

Operation 156 may include giving weight based on the heuristics to termsin the sentences. Operation 158 may include giving weight to sentencesand ranking sentences. Thereafter, operation may go to operation 150,disclosed above.

Point of view summaries of articles may be provided according to thedisclosed embodiments. When the user changes the point of view of thesummary, the disclosed content processing engine may generate a summaryincreasing weight of that view keyword/key-entity. The increased weightmay, e.g., be 150%. Thus, if the original weight of thekeyword/key-entity is 10. If the point of view is changed by selectingthat keyword/key-entity, its weight will become 15 while generating thepoint of view summary. This way, the disclosed embodiments may provide asummary which is inclined towards the user selected point of view.

Referring now to FIGS. 3, 9 and 10. FIG. 3 depicts a block diagram of auser behavior identification system according to the disclosedembodiments. FIG. 9 depicts the user preference learning module of FIG.3 in further detail according to the disclosed embodiments. FIG. 10depicts the recommendation engine of FIGS. 1 and 3 in further detailaccording to the disclosed embodiments. As shown, recommendation engine4, in addition to being suitable for use in combination withsummarization engine 2 to form content processing engine 10, may be usedfor user behavior identification system 300, along with othercomponents, such as user preference learning module 304, to recommendarticles for user 390. Recommendation engine 4 may providerecommendations 330 to user 390 based on information derived fromarticles/history/log 302 (hereinafter “articles 302”), by userpreference learning module 304. In embodiments, user behavioridentification system 300 and the content processing engine 10 may eachhas its own recommendation engine 4 or share a common recommendationengine 4. In embodiments, user behavior identification system 300 andthe content processing engine 10 may be co-installed, or communicativelycoupled with each other over a network (e.g., with user behavioridentification system 300 available as service to content processingengine 10).

In embodiments, as user 390 reads text, listen to audio or view videoonline, e.g., through an electronic word processor, a browser, and soforth, keywords and/or key phrases 3040 may be identified, as disclosedabove, and fetched from the text, caption/transcript, and stored (alongwith other information, such as browsing history) in a history log 302for that particular user, by user preference learning module 304. Whilelogging keywords 3040, user search query keywords and keywords used byuser 390 to change the point of view of a summary may also be noted.Likewise, time spent on a page also may be noted.

User precedence learning module 304, in embodiments, may receive thesefactors based on activities of user 390, as shown in FIG. 3. Forexample, bookmarks 3062, time 3064 that user 390 spends on a page,cursor activity/clicks 3066 on particular keywords, feedback 3068, andthe like may be received and used within module 304 to provide aggregateand ranked keywords 3049.

Module 304, in embodiments, may give weight to every keyword 3040 usingthe factors. Associate weight 3042 may be given to keywords that wereused by user 390 as search query or for user driven summary. Associateweight 3044 may be given to keywords that have more frequency withinarticles. Associate weight 3046 may be given based on the time-linedomain, or those keywords that have been recently logged. Over time, inembodiments, the weight may decrease unless the keyword is used after arecent period. Further, in embodiments, keywords from an article thatuser 390 spends more time, or perform cursor activity, or bookmark, mayreceive more weight. Associate weight 3048 may be given based on afeedback 3068 from user 390. Feedback 3068 may be based on a ratingsystem, such 1 to 5. Keywords of those articles, in embodiments, may getmore weight.

Keywords 3040, in embodiments, along with rankings 3049, may be storedin user profile 308. For better recommendations, in embodiments, user390 may further provide age, sex, location and the like information 3084to user profile 308. User 390, in embodiments, also may use tuner 3082to tune user profile 308 to delete/add/edit keywords 3040.

Recommendation engine 4, in embodiments, may consider user profile 308and weighted keywords 3104 from current article 3102. Weighted keywords3104 may be included so that keywords from the text, caption/transcriptthat user 390 is currently reading/viewing may be given more importance.Other information and data may be fed into recommendation engine 4 aswell, such as magazine subscriptions or library check-out information.User 390, in embodiments, also may set a list of topics.

Recommendation engine 4, in embodiments, may give weight to summariesfrom content processing cloud 320 (or content from the web in general)according to the inputs from user profile 308 and weighted keywords3104. Content processing cloud 320 may include a number of servers tocollect and store summaries generated by various content processingengines 10. The summaries from content processing cloud 320 may becollected from other users, where the summarization process disclosedabove was done on these articles and saved to cloud 320. In embodiments,weight may be given to summaries that include keywords similar to thecurrent keywords. In embodiments, weight also may be given to summariesthat include keywords found in user profile 308. The various weights maybe initially given on an empirical basis, and subsequently refined basedon feedback on the usefulness of the recommendations.

Recommendation engine 4, in embodiments, also may use other factors orcharacteristics to assign weight to summaries. Thus, recommendationengine 4 may associate sex based weight 3122 to summaries. It also mayassociate location based weight 3124 to summaries. Recommendation engine4 also may associate AGE-group based weight 3126 and content basedweight 3128 to summaries. Current keywords based weight 3129 may beassociated as well.

In embodiments, recommendations may of two types. 1. User biasedsummaries of the article he is reading, or 2. Article Push.

1. User Biased summaries of the article he is reading:

Attributes from user profiles can become helpful when tailor madesummaries are generated for users where inputs of their interest graphs,location, reading interests, reading history and patterns are used alongwith the data to be summarized. For example, a user from Boston readingan article about winter storm ‘Nemo’ hitting USA, will be moreinterested in its effect over Boston rather than New York. Based on theuser profile, tailor made summary can be generated such that from thearticle the user get more information on Boston and less information onNew York. As a further example, if there is an article about soccerfeaturing Manchester United & Chelsea, Manchester United based inclinedsummary can be generated based on user's interest graph reading habitsand history usage as he has been reading more about Manchester United.Also if somebody is reading about Ronaldo which changed a team fromManchester United to Real Madrid, for an article which containsinformation about Chelsea, Real Madrid and Ronaldo, the user may beprovided with more info about Real Madrid than Chelsea as the factor ofRonaldo changing the team may be taken into account.

2. Article Push:

Based on the articles which the user is reading, similar articles can bepushed based on his interest level and browsing history (user profile)and also what people of similar interest are reading.

Aggregator 328, in embodiments, may aggregate the weight of thesummaries to give rank to the summaries within recommendation engine 4.Based on these rankings, recommendations 330 may be provided to user390. Thus, recommendation engine 4 may use summaries from user 390 andother users to provide quality recommendations for reading/viewing. Thisprocess may be dynamic as user 390 reads/views more and thesummarization process is performed on articles. The information in userprofile 308 may be ever changing.

Referring now to FIGS. 4 and 5, wherein example input-output processesaccording to the disclosed embodiments, are depicted. FIG. 4 depictsexample processes to retrieve text data for use in summarization engine2 of content processing engine 10 according to the disclosedembodiments. In embodiments, the user, such as user 390, may not read astraight text articles on a webpage, and the text may need to beretrieved so as to determine keywords and give weight to the informationviewed by the user.

Method 1 of FIG. 4 may include operations 402-406. Operation 402 mayinclude reviewing or retrieving a video file. Operation 404 may includeextracting the audio portion of the video. Operation 406 may includeconverting the audio file into a text file, for input into summarizationengine 2. Operation 405 may include injecting information from userprofile 308 into the retrieved text data. In embodiments, operations404-406 may include doing the same for timed captions of the video.

Method 2 of FIG. 4 may include operations 410-416. Operation 410 mayinclude the user sharing a link via email, chat, social media and thelike. Operation 412 may include going to the URL address for the link,possibly using a web browser. Operation 414 may include extracting textdata from the information at the URL address by removing advertisementsand junk information. Thus, banner ads and clutter may be excluded fromthe summarization processes. Operation 416 may include providing thetext data to summarization engine 2. Operation 415 may include injectinginformation from user profile 308 into retrieving the text data.

Method 3 of FIG. 4 may include operation 420-426. Operation 420 mayinclude having a mouse move a cursor over a link, or to hover over alink. Operation 422 may include going to the URL address of the link.Operation 424 may include extracting text from the online content fromthe information at the URL address by removing advertisements and junkinformation. Operation 426 may include providing the text data tosummarization engine 2. Operation 425 may include injecting informationfrom user profile 308 into retrieving the text data.

Method 4 of FIG. 4 may include operations 430-436. Operation 430 mayinclude sending a link address to a server address. Operation 432 mayinclude going to the URL address of the link. Operation 434 may includeextracting text from the online content from the information at the URLaddress by removing advertisements and junk information. Operation 436may include providing the text data to summarization engine 2. Operation435 may include injecting information from user profile 308 intoretrieving the text data.

Thus, using methods 1-4 of FIG. 4, the disclosed embodiments mayretrieve and extract text data that is available via textfeed/database/local location for analysis by content processing engine10. This additional information may provide better keywords and data foruser profile 308 as well as better recommendations from recommendationengine 4. Further, keywords may be provided for webpages of URLaddresses having a mix of data, and not just straight online articles.

FIG. 5 shows example output options for outputting text data fromcontent processing engine 10. The results of the summarization process(extracted text and/or segments of audios/videos) and weightingdisclosed above may be sent via email in operation 440, or to asmartphone application in operation 442. Alternatively, the output textdata 192 may be sent via text message, whereas output audio/video data192 may be sent as multi-media messages. Operation 444 may convert theoutput text data 192 to speech. Mindmaps/graphs may be output inoperation 446. A query-based summary may be output in operation 448.Another output 450 may be highlighted summary text on the same inputtext. This matches up with text of interest. Thus, output data 192 maybe displayed or presented to the user in a plurality of different ways,such as a highlight summary on the page so as not to interrupt theuser's reading experience, stringed together audio/video segments.

Referring now to FIG. 6, wherein a block diagram of articles being savedonto content processing cloud 320 according to the disclosedembodiments, is depicted. As shown in FIG. 3, articles and summariesfrom cloud 320 may be used in recommending such articles to the user.Recommendation engine 4 may serve as an artificial brain to search thearticles for ones that are of interest. This process may alleviate theneed for the user to review each and every online article, which has anumber increasing exponentially. There is no way one can review everylink and article when a search engine returns 2000 hits on a subject.

Cloud 320, e.g., may have articles 1-4 stored, which are summarizedversions of the actual articles read by users 1, 2 and 3. As users 1-3read articles 1-4, the summaries may be generated according to thedisclosed embodiments, described earlier. These summaries 1-4 may besaved to cloud 320.

For example, users 1-3 may have read article 1, and the articlessummarized to generate keywords xyz. These results may be stored insummarized article 1. User 1 and 3 may have read article 2, and then usethe disclosed embodiments to generate keywords abc, which are stored insummarized article 2. User 2 does not read article 2, so no results aregenerated by the content processing engine 10 of user 2. User 2,instead, may have read article 3, which resulted in the generation ofkeywords lmn, which is stored in summarized article 3 on cloud 320. User3 does the same for article 4.

The stored results may be used in recommending articles. For example, ifuser 1 reads article 1 and generates keywords xyz, then article 1 may berecommended to user 3, who has a profile indicating interest in keywordsxyz. This saves user 3 the time of reviewing numerous articles, orpossibly overlooking article 1 for whatever reason.

As a result, online content and articles may be made manageable usingcontent processing engine 10. Further, good solid recommendations can bemade using content processing engine 10 and cloud 320.

Referring now to FIGS. 7 and 8, wherein the use of content processingcloud 320 in a social media environment according to the disclosedembodiments, are depicted. Content processing cloud 320 may manage everyuser's profile using their active and passive interests. Contentprocessing cloud 320 may accumulate these interests and knowledge usingthe processes and embodiments disclosed above. A social media componentmay be further provided in the disclosed embodiments of contentprocessing cloud 320 to suggest one user 390 to another user 390 basedon their common interests, per their user profiles 608 updated asearlier described.

As shown in FIG. 7, content processing cloud 320 may suggest anotheruser 390 to user 390, based on common interest determined per userprofiles 608. The user profiles considered need not be a friend orassociate of user 390. The suggestion is based on the common interestsbetween the users 390, determined using user profiles 608.

Alternatively, the reverse process is shown in FIG. 8. User 309 maysearch for interests 602 on content processing cloud 320. For example,user 309 may perform the search because user 309 wants to develop aninterest in an area. Content processing cloud 320 would then suggestother social media information (groups, pages, etc.) to user 309, basedon interests stored in user profiles.

For example, one may consider a social network having at least threeusers—User A, User B and User C, with the following interests:

User A User B User C kw-a kw-a kw-b kw-c kw-m ke-l ke-x ke-x ke-n kw-ykw-n kw-e

Thus, content processing cloud 320 would suggest User B to User A basedon their common multiple interests (kw-a and ke-x), as determined fromtheir user profiles. User C may not be suggested as there are no commoninterests identified by the disclosed processes. User A, however, mayhave User C suggested if he searches for the interest kw-b, that islisted as an interest for User C, per its user profile. Other factorsmay be considered as well, such as age, sex, location, education, andthe like.

In embodiments, a summary of the user preference and behaviorinformation gathered in a user profile may be included with a linkshared over a social network, email, text message, or othercommunication form.

The disclosed embodiments may be supported and executed on aplatform/computer system, such as a smartphone, a phablet, a tablet, alaptop, a desktop, and so forth, that has access to a network. Theplatform/computer system may support software and executable programs toprovide the functionality disclosed above. For instance, the softwaremay be deployed. Any software embodying the similar event algorithm andits processes may be deployed by manually loading directly to theclient, server and proxy computers via loading a storage medium such aCD, DVD, flash memory, chip, downloadable program and the like. Thesoftware also may be automatically or semi-automatically deployed into acomputer system by sending the process software to a central server or agroup of central servers. The software may also be downloaded intoclient computers that execute the programs and instructions associatedwith the software.

Alternatively, the software may be sent directly to the client computersvia email. The software may be detached to a directory or loaded into adirectory by a button on the email that executes a program that detachesthe software into a directory. Another alternative is to send thesoftware directly to a directory on the client computer hard drive. Whenthere are proxy servers, the disclosed embodiments will select the proxyserver code, determine on which computers to place the proxy servers'code, transmit the proxy server code, and install the proxy server codeon the proxy computer. The software may be transmitted to the proxyserver and then stored on the proxy server.

FIG. 11 illustrates an example computer system that may be suitable foruse as a client device or a server to practice selected aspects of thepresent disclosure. As shown, computer 800 may include one or moreprocessors or processor cores 802, and system memory 804. For thepurpose of this application, including the claims, the terms “processor”and “processor cores” may be considered synonymous, unless the contextclearly requires otherwise. Additionally, computer 800 may include massstorage devices 806 (such as diskette, hard drive, compact disc readonly memory (CD-ROM) and so forth), input/output devices 808 (such asdisplay, keyboard, cursor control and so forth) and communicationinterfaces 810 (such as network interface cards, modems and so forth).The elements may be coupled to each other via system bus 812, which mayrepresent one or more buses. In the case of multiple buses, they may bebridged by one or more bus bridges (not shown).

Each of these elements may perform its conventional functions known inthe art. In particular, system memory 804 and mass storage devices 806may be employed to store a working copy and a permanent copy of theprogramming instructions implementing the operations associated withsummarization engine 2, recommendation engine 4, and/or user preferencelearning module 304, earlier described, collectively referred to ascomputational logic 822. The various elements may be implemented byassembler instructions supported by processor(s) 802 or high-levellanguages, such as, for example, C, that can be compiled into suchinstructions.

In some implementations, such as when the computer 800 is a server (or acluster of servers), the processor(s) 802 may include one or morehardware accelerators. The hardware accelerators may be microprocessors,configurable hardware (e.g., field programmable gate arrays (FPGAs),programmable application specific integrated circuits (ASICs),programmable System-on-Chips (SoCs), digital signal processors (DSPs),etc.), or some other suitable special-purpose processing device tailoredto perform one or more specific tasks or workloads, for example,specific tasks or workloads of the subsystems of the Info/ArticleProcessing Engine 10 discussed previously. In some embodiments, thespecific tasks or workloads may be offloaded from one or moreapplication processors to the hardware accelerators. In FPGA-basedimplementations, the circuitry of the hardware accelerators may compriselogic blocks or logic fabric including and other interconnectedresources that may be programmed (e.g., configured) to perform variousfunctions, such as the procedures, methods, functions, etc., of thevarious embodiments discussed herein. Additionally, in these FPGA-basedimplementations the processor(s) 802, memory 804, and/or mass storage806 may include memory cells (e.g., EPROM, EEPROM, flash memory, staticmemory (e.g., SRAM, anti-fuses, etc.) used to store logic blocks, logicfabric, data, etc. in LUTs and the like.

In some embodiments, the processor(s) 802 may be embodied by (or as) orotherwise include hardware elements specifically tailored for artificialbrain and/or AWL (e.g., NN) functionality, such as for operating thesubsystems of the content processing engine 10 discussed previously withregard to FIGS. 1-10. In some implementations, the processor(s) 802 maybe, or may include, a high-performance computing engine configurable tooperate an artificial brain and/or various NNs. In some implementations,the processor(s) 802 may be, or may include, an AI engine chip, one ormore AI accelerators and/or AI accelerating co-processor(s), neuralcompute stick(s), neuromorphic hardware, an arrangement of GraphicsProcessing Units (GPUs), one or more CPUs, one or more FPGAs, one ormore SoCs, one or more DSPs, one or more AI-dedicated ASICs, and/orother forms of specialized circuitry that can run many different kindsof AI instruction sets once loaded with the appropriate weightings,biases, and training data/code. In such implementations, the AI enginechip, AI accelerators, etc., may be designed for hardware accelerationof AI applications, such as one or more of engines/subsystems of thecontent processing engine 10. In any of the aforementioned embodimentsand implementations, the processor(s) 802, hardware accelerators, and/orother forms of specialized processors or circuitry are designed toaccomplish one or more specialized tasks. The specialized tasks mayinclude AI processing (e.g., ML training, ML optimization/learning,inferencing, classification, etc.) operations, visual data processing,network data processing, object detection, rule analysis, contentprocessing operations (e.g., article/document summarization operationsof the summarization engine 4 and recommendation operations of therecommendation engine 4), and/or the like.

The number, capability and/or capacity of these elements 810-812 mayvary, depending on whether computer 800 is used as a client device or aserver. When use as client device, the capability and/or capacity ofthese elements 810-812 may vary, depending on whether the client deviceis a stationary or mobile device, like a smartphone, computing tablet,ultrabook or laptop. Otherwise, the constitutions of elements 810-812are known, and accordingly will not be further described.

As will be appreciated by one skilled in the art, the present disclosuremay be embodied as methods or computer program products. Accordingly,the present disclosure, in addition to being embodied in hardware asearlier described, may take the form of an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to as a “circuit,” “module” or “system.”Furthermore, the present disclosure may take the form of a computerprogram product embodied in any tangible or non-transitory medium ofexpression having computer-usable program code embodied in the medium.FIG. 12 illustrates an example computer-readable non-transitory storagemedium that may be suitable for use to store instructions that cause anapparatus, in response to execution of the instructions by theapparatus, to practice selected aspects of the present disclosure. Asshown, non-transitory computer-readable storage medium 902 may include anumber of programming instructions 904. Programming instructions 904 maybe configured to enable a device, e.g., computer 800, in response toexecution of the programming instructions, to perform, e.g., variousoperations associated with summarization engine 2, recommendation engine4 and/or user preference learning module 304. In alternate embodiments,programming instructions 904 may be disposed on multiplecomputer-readable non-transitory storage media 902 instead. In alternateembodiments, programming instructions 904 may be disposed oncomputer-readable transitory storage media 902, such as, signals.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentdisclosure may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

The present disclosure is described with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a,” “an” and “the” are intended toinclude plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specific thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operation, elements,components, and/or groups thereof.

Embodiments may be implemented as a computer process, a computing systemor as an article of manufacture such as a computer program product ofcomputer readable media. The computer program product may be a computerstorage medium readable by a computer system and encoding a computerprogram instructions for executing a computer process.

The corresponding structures, material, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material or act for performing the function incombination with other claimed elements are specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill without departingfrom the scope and spirit of the disclosure. The embodiment was chosenand described in order to best explain the principles of the disclosureand the practical application, and to enable others of ordinary skill inthe art to understand the disclosure for embodiments with variousmodifications as are suited to the particular use contemplated.

Referring back to FIG. 8, for one embodiment, at least one of processors802 may be packaged together with memory having computational logic 822(in lieu of storing on memory 804 and storage 806). For one embodiment,at least one of processors 802 may be packaged together with memoryhaving computational logic 822 to form a System in Package (SiP). Forone embodiment, at least one of processors 802 may be integrated on thesame die with memory having computational logic 822. For one embodiment,at least one of processors 802 may be packaged together with memoryhaving computational logic 822 to form a System on Chip (SoC). For atleast one embodiment, the SoC may be utilized in, e.g., but not limitedto, a smartphone or computing tablet.

Thus various example embodiments of the present disclosure have beendescribed including, but are not limited to:

Example 1 may include an apparatus for processing or recommendingcontent. The apparatus may include a content processing engine toprocess content, that includes a summarization engine. The summarizationengine may be configured to score constituent parts of the content, andto generate a plurality of summaries from a plurality of points of viewfor the content, based at least in part on the scores of constituentparts. At least one of the summaries may be formed with constituentparts extracted from the contents.

Example 2 may include the subject matter of example 1. The content mayinclude online or offline webpages, articles, audio or video. At leastone of the summaries of a textual article may include extractedsentences of the textual articles; and at least of summaries of anaudio/video content may include extracted segments of the audio/videocontent.

Example 3 may include the subject matter of example 1 and/or 2. Thesummarization engine may provide a rank to each sentence of a contenthaving constituent parts that are sentences, based on coherence of rootsof words between sentences of the content, and determine a relation howeach sentence of the content is connected with another sentence of thecontent.

Example 4 may include the subject matter of any one of examples 1-3. Thesummarization engine may determine title words and key phrases usingterm frequency-inverse domain frequency for each word of a sentence of acontent having constituent parts that are sentences.

Example 5 may include the subject matter of any one of examples 1-4. Thesummarization engine may tag all nouns of the content, link all taggednouns with verbs, adjectives and adverbs of the content, and indexrelationships between the nouns based at least in part on the links.

Example 6 may include the subject matter of any one of examples 1-5. Thesummarization engine may score sentences of a content heuristically, forcontents with constituent parts that are sentences, including scoringsentences based at least in part on location, cardinal and indicationalheuristics.

Example 7 may include the subject matter of any one of examples 1-6. Thesummarization engine may further selectively output the summaries for auser, based at least in part on a point of view of interest to the user.

Example 8 may include the subject matter of any one of examples 1-7. Thecontent processing engine may further include a recommendation enginecoupled with the summarization engine to rank summaries output by thesummarization engine, based at least in part on information in a userprofile of a user to receive recommendation from the recommendationengine, and recommend content to the user based at least in part on theranked summaries.

Example 9 may include the subject matter of example 8. Therecommendation engine may associate sex, location, age group, content orcurrent keyword based weights to summaries, based at least in part onrespective sex, location, age group, content or current keywordinformation in the user profile of the user to receive recommendationfrom the recommendation engine, wherein the content information includescontent reading behavior information of the user.

Example 10 may include the subject matter of example 8 or 9. The contentprocessing engine may further include a user preference learning moduleto input information used by the recommendation engine into the userprofile.

Example 11 may include the subject matter of example 10. The userpreference learning module may receive keywords, associate weight to thekeywords, based at least in part on user-driven summary, frequencydomain, time line domain, or user feedback, and rank the keywords.

Example 12 may include the subject matter of example 10 or 11. The userpreference learning module may also provide a summary of userpreferences and behavior in the user profile for inclusion with a linkto be shared over a social network, via email or text message.

Example 13 may include subject matter of any one of examples 1-12. Thecontent processing engine may further selective output the plurality ofsummaries of the plurality of points of view to a user, includinghighlighting constituent parts of an output, based at least in part on apoint of view of the output.

Example 14 may include subject matter of any one of examples 1-13. Thecontent processing engine may further store the plurality of summariesof the plurality of points of view in servers of a content processingcloud environment.

Example 15 may include the subject matter of example 14. The contentprocessing cloud environment may suggest a first user to a second userof a social network based at least in part on common interest inferredfrom user profiles of the first and second users, wherein the userprofiles include content reading behavior information of the first andsecond users.

Example 16 may include the subject matter of example 14 or 15. Thecontent processing cloud environment may suggest social mediainformation to a first user of a social network, engaged in a search forinformation about an interest, based at least in part on information ofa plurality of user profiles. The user profiles may include contentreading behavior information of users.

Example 17 may include the subject matter of any one of examples 1-16.The apparatus may be a selected one of a smartphone, a phablet, acomputing tablet, a laptop computer, a desktop computer or a gameconsole.

Example 18 may be an apparatus for processing or recommending content.The apparatus may include a recommendation engine to rank summariesoutput by a summarization engine, based at least in part on informationin a user profile of a user to receive recommendation from therecommendation engine, and recommend content to the user based at leastin part on the ranked summaries. The recommendation engine may associatesex, location, age group, content or current keyword based weights tosummaries, based at least in part on respective sex, location, agegroup, content or current keyword information in the user profile of theuser to receive recommendation from the recommendation engine. Thecontent information may include content reading behavior information ofthe user.

Example 19 may include the subject matter of example 18. The contentprocessing engine may further include a user preference learning moduleto input information used by the recommendation engine into the userprofile.

Example 20 may include the subject matter of example 19. The userpreference learning module may receive keywords, associate weight to thekeywords, based at least in part on user-driven summary, frequencydomain, time line domain, or user feedback, and rank the keywords.

Example 21 may include the subject matter of example 20. The userpreference learning module may also provide a summary of userpreferences and behavior in the user profile for inclusion with a linkto be shared over a social network, via email or text message.

Example 22 may be an apparatus for processing or recommending content.The apparatus may include a user preference learning module to inputinformation into a user profile of a user to receive recommendationsfrom a recommendation engine. The recommendation engine may providerecommendation based at least in part on keyword information in the userprofile, wherein the user preference learning module to receivekeywords, associate weight to the keywords, based at least in part onuser-driven summary, frequency domain, time line domain, or userfeedback, and rank the keywords.

Example 23 may include the subject matter of example 22. The userpreference learning module to also provide a summary of user preferencesand behavior in the user profile for inclusion with a link to be sharedover a social network, via email or text message.

Example 24 may be an apparatus for processing or recommending content.The apparatus may include one or more servers to form a contentprocessing cloud environment to receive a plurality of summaries of theplurality of points of view, from a plurality of content processingengines, and store the plurality of summaries of the plurality of pointsof view for use by recommendation engines to make contentrecommendations to users based at least in part on information in userprofiles of users to receive recommendation. The content processingcloud environment may further suggest a first user to a second user of asocial network based at least in part on common interest inferred fromuser profiles of the first and second users. The user profiles mayinclude content reading behavior information of the first and secondusers.

Example 25 may include the subject matter of example 24. The contentprocessing cloud environment may suggest social media information to afirst user of a social network, engaged in a search for informationabout an interest, based at least in part on information of a pluralityof user profiles, wherein the user profiles include content readingbehavior information of users.

Example 26 may be a method for processing or recommending content. Themethod may include processing content by a computing system. Processingcontent may include scoring, by the computing system, constituent partsof the content, and generating, by the computing system, a plurality ofsummaries from a plurality of points of view for the content, based atleast in part on the scores of constituent parts. At least one of thesummaries is formed with constituent parts extracted from the contents.

Example 27 may include the subject matter of example 26. The content mayinclude online or offline webpages, articles, audio or video. At leastone of the summaries of a textual article may include extractedsentences of the textual articles; and at least one of the summaries ofan audio/video content may include extracted segments of the audio/videocontent.

Example 28 may include the subject matter of example 26 or 27. Scoringmay include providing a rank to each sentence of a content havingconstituent parts that are sentences, based on coherence of roots ofwords between sentences of the content, and determining a relation howeach sentence of the content is connected with another sentence of thecontent.

Example 29 may include the subject matter of any one of examples 26-28.Scoring may include determining title words and key phrases using termfrequency-inverse domain frequency for each word of a sentence of acontent having constituent parts that are sentences.

Example 29 may include the subject matter of any one of examples 26-29.Scoring may include tagging all nouns of the content, link all taggednouns with verbs, adjectives and adverbs of the content, and indexingrelationships between the nouns based at least in part on the links.

Example 31 may include the subject matter of any one of examples 26-30.Scoring may include scoring sentences of a content heuristically, forcontents with constituent parts that are sentences, including scoringsentences based at least in part on location, cardinal and indicationalheuristics.

Example 32 may include the subject matter of any one of examples 26-31.The method may further selectively outputting, by the computing system,the summaries for a user, based at least in part on a point of view ofinterest to the user.

Example 33 may be a method for processing or recommending content. Themethod may include ranking, by a computing system, summaries output by asummarization process, based at least in part on information in a userprofile of a user to receive recommendation, and recommending content tothe user based at least in part on the ranked summaries. Ranking mayinclude associating sex, location, age group, content or current keywordbased weights to summaries, based at least in part on respective sex,location, age group, content or current keyword information in the userprofile of the user to receive recommendation. The content informationmay include content reading behavior information of the user.

Example 34 may include the subject matter of example 33. The method mayfurther includes inputting, by the computing system, information used bythe recommendation into the user profile.

Example 35 may include the subject matter of example 34. Inputting mayinclude receiving keywords, associate weight to the keywords, based atleast in part on user-driven summary, frequency domain, time linedomain, or user feedback, and ranking the keywords.

Example 36 may include the subject matter of example 35. The method mayfurther include providing, by a computing system, a summary of userpreferences and behavior in the user profile for inclusion with a linkto be shared over a social network, via email or text message.

Example 37 may be a method for processing or recommending content. Themethod may include inputting, by a computing system, information into auser profile of a user to receive recommendations. The recommendationsmay be based at least in part on keyword information in the userprofile. Inputting comprises receiving keywords, associating weight tothe keywords, based at least in part on user-driven summary, frequencydomain, time line domain, or user feedback, and ranking the keywords.

Example 38 may include the subject matter of example 37. The method mayfurther include providing, by the computing system, a summary of userpreferences and behavior in the user profile for inclusion with a linkto be shared over a social network, via email or text message.

Example 39 may be a method for processing or recommending content. Themethod may include receiving, by one or more servers of a contentprocessing cloud environment, a plurality of summaries of the pluralityof points of view, from a plurality of content processing engines, andstoring the plurality of summaries of the plurality of points of viewfor use by recommendation engines to make content recommendations tousers based at least in part on information in user profiles of users toreceive recommendation; and suggesting, by the one or more servers, afirst user to a second user of a social network based at least in parton common interest inferred from user profiles of the first and secondusers, wherein the user profiles include content reading behaviorinformation of the first and second users.

Example 40 may include the subject matter of example 39. The method mayfurther include suggesting, by the one or more servers, social mediainformation to a first user of a social network, engaged in a search forinformation about an interest, based at least in part on information ofa plurality of user profiles. The user profiles may include contentreading behavior information of users.

Example 41 may be one or more storage medium that includes instructionsto cause a computing system, in response to execution of theinstructions by the computing system, to perform any one of the methodsof examples 26-40.

Example 42 may be an apparatus having one or more means for performingany one of the methods of examples 26-40.

It will be apparent to those skilled in the art that variousmodifications and variations can be made in the disclosed embodiments ofthe disclosed device and associated methods without departing from thespirit or scope of the disclosure. Thus, it is intended that the presentdisclosure covers the modifications and variations of the embodimentsdisclosed above provided that the modifications and variations comewithin the scope of any claims and their equivalents.

-   -   1-20. (canceled)

21. At least one non-transitory computer readable storage mediumcomprising a set of instructions which, when executed, cause a computingapparatus to: conduct an analysis, using natural language processing, ofraw text from a user, the analysis to: identify at least one mainconcept; and identify at least one named entity; and identify an opinionbased on the analysis; wherein one or more of the at least one mainconcept, the at least one named entity or the opinion are provided tothe user.
 22. The at least one non-transitory computer readable storagemedium of claim 21, wherein the analysis is to identify key phrasescontained in the text, wherein at least one key phrase includes a noun.23. The at least one non-transitory computer readable storage medium ofclaim 22, wherein the analysis is to ignore non-essential wordscontained in the text.
 24. The at least one non-transitory computerreadable storage medium of claim 23, wherein the analysis is todetermine a relative importance of the identified key phrases bymeasuring a frequency of occurrence of the identified key phrases, andwherein the at least one main concept is identified based on thedetermined relative importance.
 25. The at least one non-transitorycomputer readable storage medium of claim 21, wherein the instructions,when executed, cause the computing apparatus to provide one or morelinks to further information relating to the text.
 26. The at least onenon-transitory computer readable storage medium of claim 21, wherein thecomputing apparatus comprises a trained machine learning model.
 27. Theat least one non-transitory computer readable storage medium of claim26, wherein the trained machine learning model is a neural network. 28.A computing system comprising: a processor; and a memory coupled to theprocessor, the memory including a set of executable program instructionswhich, when executed by the processor, cause the computing system to:conduct an analysis, using natural language processing, of raw text froma user, the analysis to: identify at least one main concept; andidentify at least one named entity; and identify an opinion based on theanalysis; wherein one or more of the at least one main concept, the atleast one named entity or the opinion are provided to the user.
 29. Thecomputing system of claim 28, wherein the analysis is to identify keyphrases contained in the text, wherein at least one key phrase includesa noun.
 30. The computing system of claim 29, wherein the analysis is toignore non-essential words contained in the text.
 31. The computingsystem of claim 30, wherein the analysis is to determine a relativeimportance of the identified key phrases by measuring a frequency ofoccurrence of the identified key phrases, and wherein the at least onemain concept is identified based on the determined relative importance.32. The computing system of claim 28, wherein the instructions, whenexecuted, cause the computing system to provide one or more links tofurther information relating to the text.
 33. The computing system ofclaim 28, wherein the computing apparatus comprises a trained machinelearning model.
 34. The computing system of claim 33, wherein thetrained machine learning model is a neural network.
 35. The computingsystem of claim 28, wherein the processor comprises a hardwareaccelerator.
 36. A method comprising: conducting an analysis, usingnatural language processing, of raw text from a user, the analysisincluding: identifying at least one main concept; and identifying atleast one named entity; and identifying an opinion based on theanalysis; wherein one or more of the at least one main concept, the atleast one named entity or the opinion are provided to the user.
 37. Themethod of claim 36, wherein the analysis is to identify key phrasescontained in the text, wherein at least one key phrase includes a noun.38. The method of claim 37, wherein the analysis is to ignorenon-essential words contained in the text.
 39. The method of claim 38,wherein the analysis is to determine a relative importance of theidentified key phrases by measuring a frequency of occurrence of theidentified key phrases, and wherein the at least one main concept isidentified based on the determined relative importance.
 40. The methodof claim 36, further comprising providing one or more links to furtherinformation relating to the text.
 41. The method of claim 36, whereinthe analysis is conducted using a trained machine learning model. 42.The method of claim 41, wherein the trained machine learning model is aneural network.